using UnityEngine;
using System.Collections;

public abstract class Character : MonoBehaviour {
	
	//Modifiers
	#region Modifiers
	protected int m_nHealthModifier = 10;
	protected int m_nAPRegenModifier = 10;
	protected int m_nHealth;
	#endregion
	
	public delegate void Skill();
	
	public Skill dSkill1;
	public Skill dSkill2;
	public Skill dSkill3;
	public Skill dSkill4;
		
	protected bool bTurn = false;
	// Use this for initialization
	void Start () {
	
	}
	#region Abstract functions to be implemented
	public abstract int GetAgi();
	public abstract void RegenAP();
	public abstract void TakeDMG(int p_nDMG);
	public abstract string GetName();
	
	protected abstract void DealDMG(int p_nDMG);
	protected abstract void DealDOT(int p_nDOT);
	protected abstract void Heal(int p_nHeal);
	protected abstract void HOT(int p_nHOT);
	#endregion
	public int GetHealth(){
		return m_nHealth;	
	}
	public bool GetTurn(){
		return bTurn;
	}
	public void SetTurn(){
		bTurn = true;	
	}
	public void EndTurn(){
		bTurn = false;	
	}
	// Update is called once per frame
	void Update () {
	
	}
}
